package componentes;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;

/**
 * @author Reynald0
 */
public abstract class CompVentana2 extends JFrame implements ActionListener
{  private JLabel lEncabezado;
   protected JPanel pContenido;
   protected JPanel pIzquierda;
   protected JPanel pPie;
   private JScrollPane scroll;
   
   public CompVentana2(String pEncabezado)
   {  this(pEncabezado,false);
   }
   
   public CompVentana2(String pEncabezado,boolean pPrincipal)
   {  this(pEncabezado,pPrincipal,0,0);
   }

   public CompVentana2(String pEncabezado,boolean pPrincipal,int pX,int pY)
   {  this(pEncabezado,pPrincipal,pX,pY,Toolkit.getDefaultToolkit().getScreenSize().width,Toolkit.getDefaultToolkit().getScreenSize().height);
   }

   public CompVentana2(String pEncabezado,boolean pPrincipal,int pX,int pY,int pAncho,int pLargo)
   {  this.setTitle(pEncabezado);
      this.setBounds(pX + (pPrincipal?0:50),pY + (pPrincipal?0:50),pAncho,pLargo);
      this.setDefaultCloseOperation(pPrincipal?EXIT_ON_CLOSE:DISPOSE_ON_CLOSE);
      this.setLayout(new BorderLayout());
      lEncabezado=new JLabel(pEncabezado);
      lEncabezado.setHorizontalAlignment(JLabel.CENTER);
      lEncabezado.setBackground(pPrincipal?Color.GREEN:Color.GREEN);
      lEncabezado.setForeground(pPrincipal?Color.WHITE:Color.WHITE);
      lEncabezado.setOpaque(true);
      lEncabezado.setBorder(BorderFactory.createLineBorder(Color.BLACK));
      lEncabezado.setFont(new Font("Arial",Font.BOLD + Font.ITALIC,40));
      pContenido =new JPanel(null);
      pContenido.setBackground(pPrincipal?Color.LIGHT_GRAY:this.getBackground());
      pPie       =new JPanel(null);
      scroll = new JScrollPane();
      scroll.add(pContenido);
      scroll.setViewportView(pContenido);
      pIzquierda = new JPanel(null);
      pPie.setBackground(pPrincipal?Color.YELLOW:Color.DARK_GRAY);
      this.add(lEncabezado,BorderLayout.NORTH);
      this.add(scroll, BorderLayout.CENTER);
      this.add(pPie,BorderLayout.SOUTH);
      this.add(pIzquierda, BorderLayout.WEST);
      crearContenido();
      this.setVisible(true);
      
   }
   protected abstract void crearContenido();
}